<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title></title>
	</head>
	<body>
		<script type="text/javascript">
			function Person(name, age){
				this.name = name;
				this.age = age;
				return "name: " + this.name + ", age: " + this.age;
			}
			
			var per1 = new Person("shuang",25);
			var per2 = new Person("Lily",15);
			var per3 = new Person("Alice",24);
			var per4 = new Person("Candy",29);
			var per5 = new Person("Nina",12);
			var per6 = new Person("Sam",36);
			var perArr = [per1, per2, per3, per4, per5];
			
			/**
			 * for循环遍历数组
			 * 挑出未满18岁的对象，并封装到一个新数组后返回
			 * */
			function select(arr){
				var res = new Array();
				for(var i = 0; i < arr.length; i++){
					if(arr[i].age < 18){
						res.push(arr[i]);
					}
				}
				return res;
			}
			console.log(select(perArr));
			// -------------------------------------------
			/**
			 * forEach()遍历数组
			 * 		forEach需要一个函数作为参数
			 * 		像这种由我们创建但不由我们调用的函数称为 回调函数
			 * 		数组中有几个元素，函数就执行几次，每次执行时，浏览器会将遍历到的元素以实参的形式传递进来
			 * 		我们可以定义形参来读取这些元素
			 * 第一个形参是正在遍历的元素；第二个形参是正在遍历的索引；第三个形参是正在遍历的数组
			 * */
			 var shuangArray = [11,12,13,14,15,16,17];
			 shuangArray.forEach(function (a, b, c){
				 console.log("~~~~~" + a + "----" + b + "========" + c);
			 });
			 
			 
		</script>
	</body>
</html>
